import router from '@/router' // 引入路由实例
import store from '@/store' // 引入vuex store实例
import { getTimeStamp } from '@/utils/auth'

import { Toast } from 'vant';
const TimeOut = 3600 * 2 // 定义超时时间



const whiteList = ['/login', '/register', '/seekPassword', '/confirmPsd'] // 定义白名单  所有不受权限控制的页面


router.beforeEach(async (to, from, next) => {
 

   
  
  if (store.getters.token) {




      

        // if (from.path) {
        //         next('/platform')
        //       }

          if (IsCheckTimeOut()) {
            Toast('TOKEN过期了')
           
                
           await store.dispatch('user/logout') // 登出操作
            next('/login')
                
              
          } 
        
        if (to.path === '/login' || to.path === '/register' ) {
            next('/')
        } else {
            next()
        }
     
     
      
        // to.path === '/login' ? next('/') : next()
    } else {

      


        // 如果没有token
        if (whiteList.indexOf(to.path) > -1) {
          // 如果找到了 表示在在名单里面
          next()
        } else {
          next('/login') // 跳到登录页
        }
        // next()
    }

    // }
})
  


// 是否超时
// 超时逻辑  (当前时间  - 缓存中的时间) 是否大于 时间差
function IsCheckTimeOut() {
  var currentTime = Date.now() // 当前时间戳
  var timeStamp = getTimeStamp() // 缓存时间戳
  return (currentTime - timeStamp) / 1000 > TimeOut
}



